home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Language/OS - Multiplatform Resource Library
/
LANGUAGE OS.iso
/
pcl
/
cl-nd-cl.lha
/
clue
/
clio
/
ol-images.lisp
< prev
next >
Wrap
Text File
|
1990-07-19
|
62KB
|
2,170 lines
;; -*- Mode:Lisp; Package:CLIO-OPEN; Base:10; Lowercase:T; Fonts:(CPTFONT); Syntax:Common-Lisp -*-
;;;----------------------------------------------------------------------------------+
;;; |
;;; TEXAS INSTRUMENTS INCORPORATED |
;;; P.O. BOX 149149 |
;;; AUSTIN, TEXAS 78714 |
;;; |
;;; Copyright (C) 1989, 1990 Texas Instruments Incorporated. |
;;; |
;;; Permission is granted to any individual or institution to use, copy, modify, and |
;;; distribute this software, provided that this complete copyright and permission |
;;; notice is maintained, intact, in all copies and supporting documentation. |
;;; |
;;; Texas Instruments Incorporated provides this software "as is" without express or |
;;; implied warranty. |
;;; |
;;;----------------------------------------------------------------------------------+
(in-package "CLIO-OPEN")
;;;----------------------------------------------------------------------------+
;;; |
;;; Scroll Bar Geometry |
;;; |
;;;----------------------------------------------------------------------------+
(defconstant
*scrollbar-dimensions*
(list
:small (make-scrollbar
:anchor-height 5
:anchor-width 13
:arrow-height 4
:arrow-width 6
:cable-margin 1
:cable-width 3
:margin 2
)
:medium (make-scrollbar
:anchor-height 6
:anchor-width 15
:arrow-height 5
:arrow-width 8
:cable-margin 1
:cable-width 3
:margin 2
)
:large (make-scrollbar
:anchor-height 7
:anchor-width 17
:arrow-height 6
:arrow-width 10
:cable-margin 1
:cable-width 3
:margin 3
)
:extra-large (make-scrollbar
:anchor-height 9
:anchor-width 21
:arrow-height 8
:arrow-width 14
:cable-margin 2
:cable-width 5
:margin 3
))
"OPEN LOOK dimensions for scrollbar bitmaps (in pixels).")
(defimage small-vertical-elevator
'#*0111111111110
'#*1000000000011
'#*1000000000011
'#*1000000000011
'#*1000000000011
'#*1000011000011
'#*1000111100011
'#*1001111110011
'#*1001111110011
'#*1000000000011
'#*1000000000011
'#*1000000000011
'#*1000000000011
'#*1111111111111
'#*1000000000011
'#*1000000000011
'#*1000000000011
'#*1000000000011
'#*1000000000011
'#*1000000000011
'#*1000000000011
'#*1000000000011
'#*1000000000011
'#*1000000000011
'#*1000000000011
'#*1000000000011
'#*1111111111111
'#*1000000000011
'#*1000000000011
'#*1000000000011
'#*1000000000011
'#*1001111110011
'#*1001111110011
'#*1000111100011
'#*1000011000011
'#*1000000000011
'#*1000000000011
'#*1000000000011
'#*1000000000011
'#*1111111111111
'#*0111111111110
)
(defimage medium-vertical-elevator
'#*011111111111110
'#*100000000000011
'#*100000000000011
'#*100000000000011
'#*100000000000011
'#*100000110000011
'#*100001111000011
'#*100011111100011
'#*100111111110011
'#*100111111110011
'#*100000000000011
'#*100000000000011
'#*100000000000011
'#*100000000000011
'#*100000000000011
'#*111111111111111
'#*100000000000011
'#*100000000000011
'#*100000000000011
'#*100000000000011
'#*100000000000011
'#*100000000000011
'#*100000000000011
'#*100000000000011
'#*100000000000011
'#*100000000000011
'#*100000000000011
'#*100000000000011
'#*100000000000011
'#*100000000000011
'#*111111111111111
'#*100000000000011
'#*100000000000011
'#*100000000000011
'#*100000000000011
'#*100000000000011
'#*100111111110011
'#*100111111110011
'#*100011111100011
'#*100001111000011
'#*100000110000011
'#*100000000000011
'#*100000000000011
'#*100000000000011
'#*100000000000011
'#*111111111111111
'#*011111111111110
)
(defimage large-vertical-elevator
'#*01111111111111110
'#*10000000000000011
'#*10000000000000011
'#*10000000000000011
'#*10000000000000011
'#*10000001100000011
'#*10000011110000011
'#*10000111111000011
'#*10001111111100011
'#*10011111111110011
'#*10011111111110011
'#*10000000000000011
'#*10000000000000011
'#*10000000000000011
'#*10000000000000011
'#*10000000000000011
'#*10000000000000011
'#*11111111111111111
'#*10000000000000011
'#*10000000000000011
'#*10000000000000011
'#*10000000000000011
'#*10000000000000011
'#*10000000000000011
'#*10000000000000011
'#*10000000000000011
'#*10000000000000011
'#*10000000000000011
'#*10000000000000011
'#*10000000000000011
'#*10000000000000011
'#*10000000000000011
'#*10000000000000011
'#*10000000000000011
'#*11111111111111111
'#*10000000000000011
'#*10000000000000011
'#*10000000000000011
'#*10000000000000011
'#*10000000000000011
'#*10000000000000011
'#*10011111111110011
'#*10011111111110011
'#*10001111111100011
'#*10000111111000011
'#*10000011110000011
'#*10000001100000011
'#*10000000000000011
'#*10000000000000011
'#*10000000000000011
'#*10000000000000011
'#*01111111111111111
'#*01111111111111100
)
(defimage extra-large-vertical-elevator
'#*011111111111111111110
'#*100000000000000000011
'#*100000000000000000011
'#*100000000000000000011
'#*100000000000000000011
'#*100000000000000000011
'#*100000000110000000011
'#*100000001111000000011
'#*100000011111100000011
'#*100000111111110000011
'#*100001111111111000011
'#*100011111111111100011
'#*100111111111111110011
'#*100111111111111110011
'#*100000000000000000011
'#*100000000000000000011
'#*100000000000000000011
'#*100000000000000000011
'#*100000000000000000011
'#*100000000000000000011
'#*100000000000000000011
'#*111111111111111111111
'#*100000000000000000011
'#*100000000000000000011
'#*100000000000000000011
'#*100000000000000000011
'#*100000000000000000011
'#*100000000000000000011
'#*100000000000000000011
'#*100000000000000000011
'#*100000000000000000011
'#*100000000000000000011
'#*100000000000000000011
'#*100000000000000000011
'#*100000000000000000011
'#*100000000000000000011
'#*100000000000000000011
'#*100000000000000000011
'#*100000000000000000011
'#*100000000000000000011
'#*100000000000000000011
'#*100000000000000000011
'#*111111111111111111111
'#*100000000000000000011
'#*100000000000000000011
'#*100000000000000000011
'#*100000000000000000011
'#*100000000000000000011
'#*100000000000000000011
'#*100000000000000000011
'#*100111111111111110011
'#*100111111111111110011
'#*100011111111111100011
'#*100001111111111000011
'#*100000111111110000011
'#*100000011111100000011
'#*100000001111000000011
'#*100000000110000000011
'#*100000000000000000011
'#*100000000000000000011
'#*100000000000000000011
'#*100000000000000000011
'#*100000000000000000011
'#*111111111111111111111
'#*011111111111111111100
)
(defimage small-horizontal-elevator
'#*01111111111111111111111111111111111111110
'#*10000000000001000000000000100000000000011
'#*10000000000001000000000000100000000000011
'#*10000001100001000000000000100001100000011
'#*10000011100001000000000000100001110000011
'#*10000111100001000000000000100001111000011
'#*10000111100001000000000000100001111000011
'#*10000011100001000000000000100001110000011
'#*10000001100001000000000000100001100000011
'#*10000000000001000000000000100000000000011
'#*10000000000001000000000000100000000000011
'#*11111111111111111111111111111111111111111
'#*01111111111111111111111111111111111111110)
(defimage medium-horizontal-elevator
'#*01111111111111111111111111111111111111111111110
'#*10000000000000010000000000000010000000000000011
'#*10000000000000010000000000000010000000000000011
'#*10000000110000010000000000000010000011000000011
'#*10000001110000010000000000000010000011100000011
'#*10000011110000010000000000000010000011110000011
'#*10000111110000010000000000000010000011111000011
'#*10000111110000010000000000000010000011111000011
'#*10000011110000010000000000000010000011110000011
'#*10000001110000010000000000000010000011100000011
'#*10000000110000010000000000000010000011000000011
'#*10000000000000010000000000000010000000000000011
'#*10000000000000010000000000000010000000000000011
'#*11111111111111111111111111111111111111111111111
'#*01111111111111111111111111111111111111111111110)
(defimage large-horizontal-elevator
'#*01111111111111111111111111111111111111111111111111100
'#*10000000000000000100000000000000001000000000000000011
'#*10000000000000000100000000000000001000000000000000011
'#*10000000011000000100000000000000001000000110000000011
'#*10000000111000000100000000000000001000000111000000011
'#*10000001111000000100000000000000001000000111100000011
'#*10000011111000000100000000000000001000000111110000011
'#*10000111111000000100000000000000001000000111111000011
'#*10000111111000000100000000000000001000000111111000011
'#*10000011111000000100000000000000001000000111110000011
'#*10000001111000000100000000000000001000000111100000011
'#*10000000111000000100000000000000001000000111000000011
'#*10000000011000000100000000000000001000000110000000011
'#*10000000000000000100000000000000001000000000000000011
'#*10000000000000000100000000000000001000000000000000011
'#*11111111111111111111111111111111111111111111111111110
'#*01111111111111111111111111111111111111111111111111110)
(defimage extra-large-horizontal-elevator
'#*01111111111111111111111111111111111111111111111111111111111111110
'#*10000000000000000000010000000000000000000010000000000000000000011
'#*10000000000000000000010000000000000000000010000000000000000000011
'#*10000000000011000000010000000000000000000010000000110000000000011
'#*10000000000111000000010000000000000000000010000000111000000000011
'#*10000000001111000000010000000000000000000010000000111100000000011
'#*10000000011111000000010000000000000000000010000000111110000000011
'#*10000000111111000000010000000000000000000010000000111111000000011
'#*10000001111111000000010000000000000000000010000000111111100000011
'#*10000011111111000000010000000000000000000010000000111111110000011
'#*10000011111111000000010000000000000000000010000000111111110000011
'#*10000001111111000000010000000000000000000010000000111111100000011
'#*10000000111111000000010000000000000000000010000000111111000000011
'#*10000000011111000000010000000000000000000010000000111110000000011
'#*10000000001111000000010000000000000000000010000000111100000000011
'#*10000000000111000000010000000000000000000010000000111000000000011
'#*10000000000011000000010000000000000000000010000000110000000000011
'#*10000000000000000000010000000000000000000010000000000000000000011
'#*10000000000000000000010000000000000000000010000000000000000000011
'#*11111111111111111111111111111111111111111111111111111111111111110
'#*01111111111111111111111111111111111111111111111111111111111111110)
(defparameter
*scrollbar-images*
(list
:vertical (list
:small small-vertical-elevator
:medium medium-vertical-elevator
:large large-vertical-elevator
:extra-large extra-large-vertical-elevator
)
:horizontal (list
:small small-horizontal-elevator
:medium medium-horizontal-elevator
:large large-horizontal-elevator
:extra-large extra-large-horizontal-elevator
)
))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; text images
(defparameter
*text-caret-dimensions*
(list
:small (make-text-caret
:height 5
:width 5
:baseline-offset 2)
:medium (make-text-caret
:height 6
:width 5
:inactive-height 7
:baseline-offset 2)
:large (make-text-caret
:height 7
:width 7
:baseline-offset 2)
:extra-large (make-text-caret
:height 9
:width 9
:baseline-offset 3)))
(defimage small-active-text-caret
'#*00100
'#*00100
'#*01110
'#*01110
'#*11111)
(defimage small-inactive-text-caret
'#*00100
'#*01010
'#*10101
'#*01010
'#*00100)
(defimage medium-active-text-caret
'#*00100
'#*00100
'#*01110
'#*01110
'#*11111
'#*11111)
(defimage medium-inactive-text-caret
'#*0001000
'#*0010100
'#*0101010
'#*1010101
'#*0101010
'#*0010100
'#*0001000)
(defimage large-active-text-caret
'#*0001000
'#*0001000
'#*0011100
'#*0011100
'#*0111110
'#*0111110
'#*1111111)
(defimage large-inactive-text-caret
'#*0001000
'#*0010100
'#*0101010
'#*1010101
'#*0101010
'#*0010100
'#*0001000)
(defimage extra-large-active-text-caret
'#*000010000
'#*000010000
'#*000111000
'#*000111000
'#*001111100
'#*001111100
'#*011111110
'#*011111110
'#*111111111)
(defimage extra-large-inactive-text-caret
'#*000010000
'#*000101000
'#*001010100
'#*010101010
'#*101010101
'#*010101010
'#*001010100
'#*000101000
'#*000010000)
(defparameter
*text-caret-images*
(list :active (list
:small small-active-text-caret
:medium medium-active-text-caret
:large large-active-text-caret
:extra-large extra-large-active-text-caret)
:inactive (list
:small small-inactive-text-caret
:medium medium-inactive-text-caret
:large large-inactive-text-caret
:extra-large extra-large-inactive-text-caret)))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; scrolling text button images
(defimage small-text-scroll-left-arrow
'#*0111111111100
'#*1000000000010
'#*1000000000011
'#*1000001100011
'#*1000011100011
'#*1000111100011
'#*1000111100011
'#*1000011100011
'#*1000001100011
'#*1000000000011
'#*1000000000011
'#*0111111111111
'#*0011111111110)
(defimage small-text-scroll-left-highlighted-arrow
'#*0111111111100
'#*1000000000010
'#*1011111111011
'#*1011110011011
'#*1011100011011
'#*1011000011011
'#*1011000011011
'#*1011100011011
'#*1011110011011
'#*1011111111011
'#*1000000000011
'#*0111111111111
'#*0011111111110)
(defimage small-text-scroll-right-arrow
'#*0111111111100
'#*1000000000010
'#*1000000000011
'#*1000110000011
'#*1000111000011
'#*1000111100011
'#*1000111100011
'#*1000111000011
'#*1000110000011
'#*1000000000011
'#*1000000000011
'#*0111111111111
'#*0011111111110)
(defimage small-text-scroll-right-highlighted-arrow
'#*0111111111100
'#*1000000000010
'#*1011111111011
'#*1011001111011
'#*1011000111011
'#*1011000011011
'#*1011000011011
'#*1011000111011
'#*1011001111011
'#*1011111111011
'#*1000000000011
'#*0111111111111
'#*0011111111110)
(defimage medium-text-scroll-left-arrow
'#*011111111111100
'#*100000000000010
'#*100000000000011
'#*100000011000011
'#*100000111000011
'#*100001111000011
'#*100011111000011
'#*100011111000011
'#*100001111000011
'#*100000111000011
'#*100000011000011
'#*100000000000011
'#*100000000000011
'#*011111111111111
'#*001111111111110)
(defimage medium-text-scroll-left-highlighted-arrow
'#*011111111111100
'#*100000000000010
'#*101111111111011
'#*101111100111011
'#*101111000111011
'#*101110000111011
'#*101100000111011
'#*101100000111011
'#*101110000111011
'#*101111000111011
'#*101111100111011
'#*101111111111011
'#*100000000000011
'#*011111111111111
'#*001111111111110)
(defimage medium-text-scroll-right-arrow
'#*011111111111100
'#*100000000000010
'#*100000000000011
'#*100001100000011
'#*100001110000011
'#*100001111000011
'#*100001111100011
'#*100001111100011
'#*100001111000011
'#*100001110000011
'#*100001100000011
'#*100000000000011
'#*100000000000011
'#*011111111111111
'#*001111111111110)
(defimage medium-text-scroll-right-highlighted-arrow
'#*011111111111100
'#*100000000000010
'#*101111111111011
'#*101110011111011
'#*101110001111011
'#*101110000111011
'#*101110000011011
'#*101110000011011
'#*101110000111011
'#*101110001111011
'#*101110011111011
'#*101111111111011
'#*100000000000011
'#*011111111111111
'#*001111111111110)
(defimage large-text-scroll-left-arrow
'#*01111111111111100
'#*10000000000000010
'#*10000000000000011
'#*10000000011000011
'#*10000000111000011
'#*10000001111000011
'#*10000011111000011
'#*10000111111000011
'#*10000111111000011
'#*10000011111000011
'#*10000001111000011
'#*10000000111000011
'#*10000000011000011
'#*10000000000000011
'#*10000000000000011
'#*01111111111111111
'#*00111111111111110)
(defimage large-text-scroll-left-highlighted-arrow
'#*01111111111111100
'#*10000000000000010
'#*10111111111111011
'#*10111111100111011
'#*10111111000111011
'#*10111110000111011
'#*10111100000111011
'#*10111000000111011
'#*10111000000111011
'#*10111100000111011
'#*10111110000111011
'#*10111111000111011
'#*10111111100111011
'#*10111111111111011
'#*10000000000000011
'#*01111111111111111
'#*00111111111111110)
(defimage large-text-scroll-right-arrow
'#*01111111111111100
'#*10000000000000010
'#*10000000000000011
'#*10000110000000011
'#*10000111000000011
'#*10000111100000011
'#*10000111110000011
'#*10000111111000011
'#*10000111111000011
'#*10000111110000011
'#*10000111100000011
'#*10000111000000011
'#*10000110000000011
'#*10000000000000011
'#*10000000000000011
'#*01111111111111111
'#*00111111111111110)
(defimage large-text-scroll-right-highlighted-arrow
'#*01111111111111100
'#*10000000000000010
'#*10111111111111011
'#*10111001111111011
'#*10111000111111011
'#*10111000011111011
'#*10111000001111011
'#*10111000000111011
'#*10111000000111011
'#*10111000001111011
'#*10111000011111011
'#*10111000111111011
'#*10111001111111011
'#*10111111111111011
'#*10000000000000011
'#*01111111111111111
'#*00111111111111110)
(defimage extra-large-text-scroll-left-arrow
'#*0111111111111111111111100
'#*1000000000000000000000010
'#*1000000000000000000000011
'#*1000000000000000000000011
'#*1000000000000000000000011
'#*1000000000000011000000011
'#*1000000000000111000000011
'#*1000000000001111000000011
'#*1000000000011111000000011
'#*1000000000111111000000011
'#*1000000001111111000000011
'#*1000000011111111000000011
'#*1000000011111111000000011
'#*1000000001111111000000011
'#*1000000000111111000000011
'#*1000000000011111000000011
'#*1000000000001111000000011
'#*1000000000000111000000011
'#*1000000000000011000000011
'#*1000000000000000000000011
'#*1000000000000000000000011
'#*1000000000000000000000011
'#*1000000000000000000000011
'#*0111111111111111111111111
'#*0011111111111111111111110)
(defimage extra-large-text-scroll-left-highlighted-arrow
'#*0111111111111111111111100
'#*1000000000000000000000010
'#*1011111111111111111111011
'#*1011111111111111111111011
'#*1011111111111111111111011
'#*1011111111111100111111011
'#*1011111111111000111111011
'#*1011111111110000111111011
'#*1011111111100000111111011
'#*1011111111000000111111011
'#*1011111110000000111111011
'#*1011111100000000111111011
'#*1011111100000000111111011
'#*1011111110000000111111011
'#*1011111111000000111111011
'#*1011111111100000111111011
'#*1011111111110000111111011
'#*1011111111111000111111011
'#*1011111111111100111111011
'#*1011111111111111111111011
'#*1011111111111111111111011
'#*1011111111111111111111011
'#*1000000000000000000000011
'#*0111111111111111111111111
'#*0011111111111111111111110)
(defimage extra-large-text-scroll-right-arrow
'#*0111111111111111111111100
'#*1000000000000000000000010
'#*1000000000000000000000011
'#*1000000000000000000000011
'#*1000000000000000000000011
'#*1000000011000000000000011
'#*1000000011100000000000011
'#*1000000011110000000000011
'#*1000000011111000000000011
'#*1000000011111100000000011
'#*1000000011111110000000011
'#*1000000011111111000000011
'#*1000000011111111000000011
'#*1000000011111110000000011
'#*1000000011111100000000011
'#*1000000011111000000000011
'#*1000000011110000000000011
'#*1000000011100000000000011
'#*1000000011000000000000011
'#*1000000000000000000000011
'#*1000000000000000000000011
'#*1000000000000000000000011
'#*1000000000000000000000011
'#*0111111111111111111111111
'#*0011111111111111111111110)
(defimage extra-large-text-scroll-right-highlighted-arrow
'#*0111111111111111111111100
'#*1000000000000000000000010
'#*1011111111111111111111011
'#*1011111111111111111111011
'#*1011111111111111111111011
'#*1011111100111111111111011
'#*1011111100011111111111011
'#*1011111100001111111111011
'#*1011111100000111111111011
'#*1011111100000011111111011
'#*1011111100000001111111011
'#*1011111100000000111111011
'#*1011111100000000111111011
'#*1011111100000001111111011
'#*1011111100000011111111011
'#*1011111100000111111111011
'#*1011111100001111111111011
'#*1011111100011111111111011
'#*1011111100111111111111011
'#*1011111111111111111111011
'#*1011111111111111111111011
'#*1011111111111111111111011
'#*1000000000000000000000011
'#*0111111111111111111111111
'#*0011111111111111111111110)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; scrolling numeric button images
(defimage small-numeric-scroll-button
'#*011111111111111111111100
'#*100000000001000000000010
'#*100000000001000000000011
'#*100000000001000000000011
'#*100001100001001111110011
'#*100011110001001111110011
'#*100111111001000111100011
'#*100111111001000011000011
'#*100000000001000000000011
'#*100000000001000000000011
'#*100000000001000000000011
'#*011111111111111111111111
'#*001111111111111111111110)
(defimage small-numeric-scroll-up-highlighted-button
'#*011111111111111111111100
'#*100000000001000000000010
'#*101111111101000000000011
'#*101111111101000000000011
'#*101110011101001111110011
'#*101100001101001111110011
'#*101000000101000111100011
'#*101000000101000011000011
'#*101111111101000000000011
'#*101111111101000000000011
'#*100000000001000000000011
'#*011111111111111111111111
'#*001111111111111111111110)
(defimage small-numeric-scroll-down-highlighted-button
'#*011111111111111111111100
'#*100000000001000000000010
'#*100000000001011111111011
'#*100000000001011111111011
'#*100001100001010000001011
'#*100011110001010000001011
'#*100111111001011000011011
'#*100111111001011100111011
'#*100000000001011111111011
'#*100000000001011111111011
'#*100000000001000000000011
'#*011111111111111111111111
'#*001111111111111111111110)
(defimage medium-numeric-scroll-button
'#*0111111111111111111111111100
'#*1000000000000100000000000010
'#*1000000000000100000000000011
'#*1000000000000100000000000011
'#*1000001100000100111111110011
'#*1000011110000100111111110011
'#*1000111111000100011111100011
'#*1001111111100100001111000011
'#*1001111111100100000110000011
'#*1000000000000100000000000011
'#*1000000000000100000000000011
'#*1000000000000100000000000011
'#*1000000000000100000000000011
'#*0111111111111111111111111111
'#*0011111111111111111111111110)
(defimage medium-numeric-scroll-up-highlighted-button
'#*0111111111111111111111111100
'#*1000000000000100000000000010
'#*1011111111110100000000000011
'#*1011111111110100000000000011
'#*1011110011110100111111110011
'#*1011100001110100111111110011
'#*1011000000110100011111100011
'#*1010000000010100001111000011
'#*1010000000010100000110000011
'#*1011111111110100000000000011
'#*1011111111110100000000000011
'#*1011111111110100000000000011
'#*1000000000000100000000000011
'#*0111111111111111111111111111
'#*0011111111111111111111111110)
(defimage medium-numeric-scroll-down-highlighted-button
'#*0111111111111111111111111100
'#*1000000000000100000000000010
'#*1000000000000101111111111011
'#*1000000000000101111111111011
'#*1001111111100101111001111011
'#*1001111111100101110000111011
'#*1000111111000101100000011011
'#*1000011110000101000000001011
'#*1000001100000101000000001011
'#*1000000000000101111111111011
'#*1000000000000101111111111011
'#*1000000000000101111111111011
'#*1000000000000100000000000011
'#*0111111111111111111111111111
'#*0011111111111111111111111110)
(defimage large-numeric-scroll-button
'#*01111111111111111111111111111100
'#*10000000000000010000000000000010
'#*10000000000000010000000000000011
'#*10000000000000010000000000000011
'#*10000000000000010000000000000011
'#*10000001100000010011111111110011
'#*10000011110000010011111111110011
'#*10000111111000010001111111100011
'#*10001111111100010000111111000011
'#*10011111111110010000011110000011
'#*10011111111110010000001100000011
'#*10000000000000010000000000000011
'#*10000000000000010000000000000011
'#*10000000000000010000000000000011
'#*10000000000000010000000000000011
'#*01111111111111111111111111111111
'#*00111111111111111111111111111110)
(defimage large-numeric-scroll-up-highlighted-button
'#*01111111111111111111111111111100
'#*10000000000000010000000000000010
'#*10111111111111010000000000000011
'#*10111111111111010000000000000011
'#*10111111111111010000000000000011
'#*10111110011111010011111111110011
'#*10111100001111010011111111110011
'#*10111000000111010001111111100011
'#*10110000000011010000111111000011
'#*10100000000001010000011110000011
'#*10100000000001010000001100000011
'#*10111111111111010000000000000011
'#*10111111111111010000000000000011
'#*10111111111111010000000000000011
'#*10000000000000010000000000000011
'#*01111111111111111111111111111111
'#*00111111111111111111111111111110)
(defimage large-numeric-scroll-down-highlighted-button
'#*01111111111111111111111111111100
'#*10000000000000010000000000000010
'#*10000000000000010111111111111011
'#*10000000000000010111111111111011
'#*10000000000000010111111111111011
'#*10000001100000010100000000001011
'#*10000011110000010100000000001011
'#*10000111111000010110000000011011
'#*10001111111100010111000000111011
'#*10011111111110010111100001111011
'#*10011111111110010111110011111011
'#*10000000000000010111111111111011
'#*10000000000000010111111111111011
'#*10000000000000010111111111111011
'#*10000000000000010000000000000011
'#*01111111111111111111111111111111
'#*00111111111111111111111111111110)
(defimage extra-large-numeric-scroll-button
'#*011111111111111111111111111111111111111111111100
'#*100000000000000000000001000000000000000000000010
'#*100000000000000000000001000000000000000000000011
'#*100000000000000000000001000000000000000000000011
'#*100000000000000000000001000000000000000000000011
'#*100000000000000000000001000000000000000000000011
'#*100000000000000000000001000000000000000000000011
'#*100000000000000000000001000000000000000000000011
'#*100000000001100000000001000011111111111111000011
'#*100000000011110000000001000011111111111111000011
'#*100000000111111000000001000001111111111110000011
'#*100000001111111100000001000000111111111100000011
'#*100000011111111110000001000000011111111000000011
'#*100000111111111111000001000000001111110000000011
'#*100001111111111111100001000000000111100000000011
'#*100001111111111111100001000000000011000000000011
'#*100000000000000000000001000000000000000000000011
'#*100000000000000000000001000000000000000000000011
'#*100000000000000000000001000000000000000000000011
'#*100000000000000000000001000000000000000000000011
'#*100000000000000000000001000000000000000000000011
'#*100000000000000000000001000000000000000000000011
'#*100000000000000000000001000000000000000000000011
'#*011111111111111111111111111111111111111111111111
'#*001111111111111111111111111111111111111111111110)
(defimage extra-large-numeric-scroll-up-highlighted-button
'#*011111111111111111111111111111111111111111111100
'#*100000000000000000000001000000000000000000000010
'#*101111111111111111111101000000000000000000000011
'#*101111111111111111111101000000000000000000000011
'#*101111111111111111111101000000000000000000000011
'#*101111111111111111111101000000000000000000000011
'#*101111111111111111111101000000000000000000000011
'#*101111111111111111111101000000000000000000000011
'#*101111111110011111111101000011111111111111000011
'#*101111111100001111111101000011111111111111000011
'#*101111111000000111111101000001111111111110000011
'#*101111110000000011111101000000111111111100000011
'#*101111100000000001111101000000011111111000000011
'#*101111000000000000111101000000001111110000000011
'#*101110000000000000011101000000000111100000000011
'#*101110000000000000011101000000000011000000000011
'#*101111111111111111111101000000000000000000000011
'#*101111111111111111111101000000000000000000000011
'#*101111111111111111111101000000000000000000000011
'#*101111111111111111111101000000000000000000000011
'#*101111111111111111111101000000000000000000000011
'#*101111111111111111111101000000000000000000000011
'#*100000000000000000000001000000000000000000000011
'#*011111111111111111111111111111111111111111111111
'#*001111111111111111111111111111111111111111111110)
(defimage extra-large-numeric-scroll-down-highlighted-button
'#*011111111111111111111111111111111111111111111100
'#*100000000000000000000001000000000000000000000010
'#*100000000000000000000001011111111111111111111011
'#*100000000000000000000001011111111111111111111011
'#*100000000000000000000001011111111111111111111011
'#*100000000000000000000001011111111111111111111011
'#*100000000000000000000001011111111111111111111011
'#*100000000000000000000001011111111111111111111011
'#*100000000001100000000001011100000000000000111011
'#*100000000011110000000001011100000000000000111011
'#*100000000111111000000001011110000000000001111011
'#*100000001111111100000001011111000000000011111011
'#*100000011111111110000001011111100000000111111011
'#*100000111111111111000001011111110000001111111011
'#*100001111111111111100001011111111000011111111011
'#*100001111111111111100001011111111100111111111011
'#*100000000000000000000001011111111111111111111011
'#*100000000000000000000001011111111111111111111011
'#*100000000000000000000001011111111111111111111011
'#*100000000000000000000001011111111111111111111011
'#*100000000000000000000001011111111111111111111011
'#*100000000000000000000001011111111111111111111011
'#*100000000000000000000001000000000000000000000011
'#*011111111111111111111111111111111111111111111111
'#*001111111111111111111111111111111111111111111110)
;;;----------------------------------------------------------------------------+
;;; |
;;; Slider Geometry |
;;; |
;;;----------------------------------------------------------------------------+
(defconstant
*slider-dimensions*
(list
:small (make-slidebar ;;10pt
:drag-box-width 10
:gap 1
:bar-thickness 4
:bar-drag-offset 5
:tick-mark-length 5
:tick-mark-offset 5
:bar-text-offset '(:horizontal (0 18) :vertical (10 9))
)
:medium (make-slidebar ;;12pt
:drag-box-width 10
:gap 1
:bar-thickness 5
:bar-drag-offset 5
:tick-mark-length 6
:tick-mark-offset 5
:bar-text-offset '(:horizontal (0 21) :vertical (12 11))
)
:large (make-slidebar ;;14pt
:drag-box-width 12
:gap 1
:bar-thickness 6
:bar-drag-offset 5
:tick-mark-length 7
:tick-mark-offset 6
:bar-text-offset '(:horizontal (0 24) :vertical (14 11))
)
:extra-large (make-slidebar ;;19pt
:drag-box-width 15
:gap 2
:bar-thickness 8
:bar-drag-offset 6
:tick-mark-length 9
:tick-mark-offset 7
:bar-text-offset '(:horizontal (0 31) :vertical (18 11))
))
"OPEN LOOK dimensions for slider bitmaps (in pixels).")
;; Slider masks :
;; first 1/2 of width is min end & second half is max end
;; width = 2 times (floor (slider-drag-box-width slider) 2) ;; offset to center of tick mark
;; width = height to make symmetrical for use in either orientation
(defimage small-bar-mask ;; HxW= 4x4
'#*0110
'#*1111
'#*1111
'#*0110
)
(defimage medium-bar-mask ;; HxW= 5x5
'#*01110
'#*11111
'#*11111
'#*11111
'#*01110
)
(defimage large-bar-mask ;; HxW= 6x6
'#*011110
'#*111111
'#*111111
'#*111111
'#*111111
'#*011110
)
(defimage extra-large-bar-mask ;; HxW= 6x6
'#*00111100
'#*01111110
'#*11111111
'#*11111111
'#*11111111
'#*11111111
'#*01111110
'#*00111100
)
(defimage small-bar-border ;; HxW= 4x4
'#*0110
'#*1001
'#*1001
'#*0110
)
(defimage medium-bar-border ;; HxW= 5x5
'#*01110
'#*10001
'#*10001
'#*10001
'#*01110
)
(defimage large-bar-border ;; HxW= 6x6
'#*011110
'#*100001
'#*100001
'#*100001
'#*100001
'#*011110
)
(defimage extra-large-bar-border ;; HxW= 8x8
'#*00111100
'#*01000010
'#*10000001
'#*10000001
'#*10000001
'#*10000001
'#*01000010
'#*00111100
)
(defparameter
*slider-bar-images*
(list
:masks (list
:small small-bar-mask
:medium medium-bar-mask
:large large-bar-mask
:extra-large extra-large-bar-mask
)
:borders (list
:small small-bar-border
:medium medium-bar-border
:large large-bar-border
:extra-large extra-large-bar-border
)))
(defimage small-horizontal-drag-box ;; HxW=15x12
'#*000000000000
'#*001111111100
'#*010000000110
'#*010000000110
'#*010000000110
'#*010000000110
'#*010000000110
'#*010000000110
'#*010000000110
'#*010000000110
'#*010000000110
'#*010000000110
'#*011111111110
'#*001111111100
'#*000000000000
)
(defimage small-vertical-drag-box ;; HxW=12x15
'#*000000000000000
'#*001111111111100
'#*010000000000110
'#*010000000000110
'#*010000000000110
'#*010000000000110
'#*010000000000110
'#*010000000000110
'#*010000000000110
'#*011111111111110
'#*001111111111100
'#*000000000000000
)
(defimage medium-horizontal-drag-box ;; HxW=16x12
'#*000000000000
'#*001111111100
'#*010000000110
'#*010000000110
'#*010000000110
'#*010000000110
'#*010000000110
'#*010000000110
'#*010000000110
'#*010000000110
'#*010000000110
'#*010000000110
'#*010000000110
'#*011111111110
'#*001111111100
'#*000000000000
)
(defimage medium-vertical-drag-box ;; HxW=12x16
'#*0000000000000000
'#*0011111111111100
'#*0100000000000110
'#*0100000000000110
'#*0100000000000110
'#*0100000000000110
'#*0100000000000110
'#*0100000000000110
'#*0100000000000110
'#*0111111111111110
'#*0011111111111100
'#*0000000000000000
)
(defimage large-horizontal-drag-box ;; HxW=19x14
'#*00000000000000
'#*00111111111100
'#*01000000000110
'#*01000000000110
'#*01000000000110
'#*01000000000110
'#*01000000000110
'#*01000000000110
'#*01000000000110
'#*01000000000110
'#*01000000000110
'#*01000000000110
'#*01000000000110
'#*01000000000110
'#*01000000000110
'#*01000000000110
'#*01111111111110
'#*00111111111100
'#*00000000000000
)
(defimage large-vertical-drag-box ;; HxW=14x19
'#*0000000000000000000
'#*0011111111111111100
'#*0100000000000000110
'#*0100000000000000110
'#*0100000000000000110
'#*0100000000000000110
'#*0100000000000000110
'#*0100000000000000110
'#*0100000000000000110
'#*0100000000000000110
'#*0100000000000000110
'#*0111111111111111110
'#*0011111111111111100
'#*0000000000000000000
)
(defimage extra-large-horizontal-drag-box ;; HxW=25x19
'#*0000000000000000000
'#*0000000000000000000
'#*0001111111111111000
'#*0010000000000001100
'#*0010000000000001100
'#*0010000000000001100
'#*0010000000000001100
'#*0010000000000001100
'#*0010000000000001100
'#*0010000000000001100
'#*0010000000000001100
'#*0010000000000001100
'#*0010000000000001100
'#*0010000000000001100
'#*0010000000000001100
'#*0010000000000001100
'#*0010000000000001100
'#*0010000000000001100
'#*0010000000000001100
'#*0010000000000001100
'#*0010000000000001100
'#*0011111111111111000
'#*0001111111111111000
'#*0000000000000000000
'#*0000000000000000000
)
;; Note: the shadow-width here is 1 less than you may expect, but matches engineering bitmaps
(defimage extra-large-vertical-drag-box ;; HxW=19x25
'#*0000000000000000000000000
'#*0000000000000000000000000
'#*0001111111111111111111000
'#*0010000000000000000001100
'#*0010000000000000000001100
'#*0010000000000000000001100
'#*0010000000000000000001100
'#*0010000000000000000001100
'#*0010000000000000000001100
'#*0010000000000000000001100
'#*0010000000000000000001100
'#*0010000000000000000001100
'#*0010000000000000000001100
'#*0010000000000000000001100
'#*0010000000000000000001100
'#*0011111111111111111111000
'#*0001111111111111111111000
'#*0000000000000000000000000
'#*0000000000000000000000000
)
(defvar
*slider-drag-box-images*
(list
:vertical (list
:small small-vertical-drag-box
:medium medium-vertical-drag-box
:large large-vertical-drag-box
:extra-large extra-large-vertical-drag-box
)
:horizontal (list
:small small-horizontal-drag-box
:medium medium-horizontal-drag-box
:large large-horizontal-drag-box
:extra-large extra-large-horizontal-drag-box
)))
;================================================================;
; ;
; OPEN LOOK MENU & PUSHPIN GEOMETRY ;
; ;
;================================================================;
(DEFCONSTANT *OL-menu-spec-alist*
(let
((small/medium-pushpin-in
(bitmap-image ()
'#*00000001110000000000000000
'#*00001110001100000000000000
'#*00110100000100000000000000
'#*01001000000010000000000000
'#*01001000000010000000000000
'#*10001000000010000000000000
'#*10001100000100000000000000
'#*10000110001100000000000000
'#*11000111111100000000000000
'#*01000001111000000000000000
'#*01110000111000000000000000
'#*11111111110000000000000000
'#*11001111000000000000000000))
(small/medium-pushpin-out
(bitmap-image ()
'#*00000000000000000000000000
'#*00000000000001110000000000
'#*00000000000001001000000110
'#*00000000000001001000001001
'#*00000000000001001111111001
'#*00000000000001001000001001
'#*00000111111111001000001001
'#*00000011111111001000001001
'#*00000000000001001111111001
'#*01100000000001001111111111
'#*10010000000001111000001111
'#*10010000000001111000000110
'#*01100000000001110000000000))
(large/extra-large-pushpin-in
(bitmap-image ()
'#*00000000111000000000000000000
'#*00000111000110000000000000000
'#*00011100000001000000000000000
'#*00100100000001000000000000000
'#*01001000000000100000000000000
'#*01001000000000100000000000000
'#*10001000000000100000000000000
'#*10001100000001100000000000000
'#*10000100000001000000000000000
'#*11000111000111000000000000000
'#*01000011111110000000000000000
'#*01100000111110000000000000000
'#*01111000011100000000000000000
'#*11111111111000000000000000000
'#*11000111100000000000000000000))
(large/extra-large-pushpin-out
(bitmap-image ()
'#*00000000000000000000000000000
'#*00000000000000011100000000110
'#*00000000000000010010000001001
'#*00000000000000010010000001001
'#*00000000000000010011111111001
'#*00000000000000010010000001001
'#*00000000000000010010000001001
'#*00000111111111110010000001001
'#*00000011111111110010000001001
'#*00000000000000010010000001001
'#*00000000000000010011111111001
'#*01100000000000010011111111111
'#*10010000000000011110000001111
'#*10010000000000011110000000110
'#*01100000000000011100000000000)))
(let
((small-OL-menu-spec
(make-OL-menu-spec
:scale :small
:pushpin (make-pushpin-spec
:scale :small
:box-width 26
:box-height 13
:baseline 9 ;Relative top of box
:image-in small/medium-pushpin-in
:image-out small/medium-pushpin-out
:default-ring-image () ;These are
:ring-x -1 ; all
:ring-y -1 ; dummies for now
:left-margin 0
:top-margin 0
:bottom-margin 0)
:pushpin-dx 7 ;horizontal distance from border to left of image
:pushpin-dy 13 ;vertical distance from border to pushpin baseline
:title-bar-dx 2 ;horizontal distance from border to title bar (left & right)
:title-bar-dy 7 ;vertical distance from title baseline to title bar
:title-dx 8 ;horizontal (minimum) left & right title margins
:title-dy 13 ;vertical distance from menu border to title baseline
:drop-shadow-width 5
:drop-shadow-offset 6 ))
(medium-OL-menu-spec
(make-OL-menu-spec
:scale :medium
:pushpin (make-pushpin-spec
:scale :medium
:box-width 26
:box-height 13
:baseline 10 ;Relative top of box
:image-in small/medium-pushpin-in
:image-out small/medium-pushpin-out
:default-ring-image () ;These are
:ring-x -1 ; all
:ring-y -1 ; dummies for now
:left-margin 0
:top-margin 0
:bottom-margin 0)
:pushpin-dx 8 ;horizontal distance from border to left of image
:pushpin-dy 15 ;vertical distance from border to pushpin baseline
:title-bar-dx 2 ;horizontal distance from border to title bar (left & right)
:title-bar-dy 7 ;vertical distance from title baseline to title bar
:title-dx 9 ;horizontal (minimum) left & right title margins
:title-dy 15 ;vertical distance from menu border to title baseline
:drop-shadow-width 6
:drop-shadow-offset 7 ))
(large-OL-menu-spec
(make-OL-menu-spec
:scale :large
:pushpin (make-pushpin-spec
:scale :large
:box-width 29
:box-height 15
:baseline 11 ;Relative top of box
:image-in large/extra-large-pushpin-in
:image-out large/extra-large-pushpin-out
:default-ring-image () ;These are
:ring-x -1 ; all
:ring-y -1 ; dummies for now
:left-margin 0
:top-margin 0 ;pushpin baseline relative to image
:bottom-margin 0)
:pushpin-dx 9 ;horizontal distance from border to left of image
:pushpin-dy 18 ;vertical distance from border to pushpin baseline
:title-bar-dx 3 ;horizontal distance from border to title bar (left & right)
:title-bar-dy 10 ;vertical distance from title baseline to title bar
:title-dx 10 ;horizontal (minimum) left & right title margins
:title-dy 18 ;vertical distance from menu border to title baseline
:drop-shadow-width 7
:drop-shadow-offset 8 ))
(extra-large-OL-menu-spec
(make-OL-menu-spec
:scale :extra-large
:pushpin (make-pushpin-spec
:scale :extra-large
:box-width 29
:box-height 15
:baseline 11 ;Relative top of box
:image-in large/extra-large-pushpin-in
:image-out large/extra-large-pushpin-out
:default-ring-image () ;These are
:ring-x -1 ; all
:ring-y -1 ; dummies for now
:left-margin 0
:top-margin 0 ;pushpin baseline relative to image
:bottom-margin 0)
:pushpin-dx 13 ;horizontal distance from border to left of image
:pushpin-dy 21 ;vertical distance from border to pushpin baseline
:title-bar-dx 3 ;horizontal distance from border to title bar (left & right)
:title-bar-dy 11 ;vertical distance from title baseline to title bar
:title-dx 14 ;horizontal (minimum) left & right title margins
:title-dy 21 ;vertical distance from menu border to title baseline
:drop-shadow-width 9
:drop-shadow-offset 10)))
`((:small . ,small-OL-menu-spec)
(:medium . ,medium-OL-menu-spec)
(:large . ,large-OL-menu-spec)
(:extra-large . ,extra-large-OL-menu-spec)) )))
;;; ========================================================================================== ;;;
;;; ========================================================================================== ;;;
;;; ;;;
;;; Action Button Ends, Default Rings, and Menu Marks ;;;
;;; ;;;
;;; ========================================================================================== ;;;
;;; ========================================================================================== ;;;
(defimage small-horizontal-menu-mark
'#*00000000
'#*01100000
'#*01011000
'#*01000110
'#*01000001
'#*01000110
'#*01011000
'#*01100000)
(defimage small-vertical-menu-mark
'#*00000000
'#*11111110
'#*10000010
'#*01000100
'#*01000100
'#*00101000
'#*00101000
'#*00010000)
(defimage medium-horizontal-menu-mark
'#*00000000
'#*01100000
'#*01011000
'#*01000110
'#*01000001
'#*01000110
'#*01011000
'#*01100000)
(defimage medium-vertical-menu-mark
'#*00000000
'#*11111110
'#*10000010
'#*01000100
'#*01000100
'#*00101000
'#*00101000
'#*00010000)
(defimage large-horizontal-menu-mark
'#*000000000000
'#*011000000000
'#*010110000000
'#*010001100000
'#*010000011000
'#*010000000110
'#*010000000001
'#*010000000110
'#*010000011000
'#*010001100000
'#*010110000000
'#*011000000000)
(defimage large-vertical-menu-mark
'#*000000000000
'#*111111111110
'#*100000000010
'#*010000000100
'#*010000000100
'#*001000001000
'#*001000001000
'#*000100010000
'#*000100010000
'#*000010100000
'#*000010100000
'#*000001000000)
(defimage extra-large-horizontal-menu-mark
'#*00000000000000
'#*01100000000000
'#*01011000000000
'#*01000110000000
'#*01000001100000
'#*01000000011000
'#*01000000000110
'#*01000000000001
'#*01000000000110
'#*01000000011000
'#*01000001100000
'#*01000110000000
'#*01011000000000
'#*01100000000000)
(defimage extra-large-vertical-menu-mark
'#*00000000000000
'#*11111111111110
'#*10000000000010
'#*01000000000100
'#*01000000000100
'#*00100000001000
'#*00100000001000
'#*00010000010000
'#*00010000010000
'#*00001000100000
'#*00001000100000
'#*00000101000000
'#*00000101000000
'#*00000010000000)
;;;
;;; The following abbreviated menu button definitions define only the border.
;;; The left/down facing menu marks or ellipses are considered to be the label of
;;; the button. The abbreviated-menu-button-specs describe how to draw each size.
;;;
(defimage small-abbreviated-menu-button-border
'#*01111111111100
'#*10000000000010
'#*10000000000011
'#*10000000000011
'#*10000000000011
'#*10000000000011
'#*10000000000011
'#*10000000000011
'#*10000000000011
'#*10000000000011
'#*10000000000011
'#*01111111111111
'#*00111111111110)
(defimage medium-abbreviated-menu-button-border
'#*0111111111111100
'#*1000000000000010
'#*1000000000000011
'#*1000000000000011
'#*1000000000000011
'#*1000000000000011
'#*1000000000000011
'#*1000000000000011
'#*1000000000000011
'#*1000000000000011
'#*1000000000000011
'#*1000000000000011
'#*1000000000000011
'#*0111111111111111
'#*0011111111111110)
(defimage large-abbreviated-menu-button-border
'#*011111111111111100
'#*100000000000000010
'#*100000000000000011
'#*100000000000000011
'#*100000000000000011
'#*100000000000000011
'#*100000000000000011
'#*100000000000000011
'#*100000000000000011
'#*100000000000000011
'#*100000000000000011
'#*100000000000000011
'#*100000000000000011
'#*100000000000000011
'#*100000000000000011
'#*100000000000000011
'#*011111111111111111
'#*001111111111111110)
(defimage extra-large-abbreviated-menu-button-border
'#*0011111111111111111000
'#*0100000000000000000100
'#*1000000000000000000010
'#*1000000000000000000011
'#*1000000000000000000011
'#*1000000000000000000011
'#*1000000000000000000011
'#*1000000000000000000011
'#*1000000000000000000011
'#*1000000000000000000011
'#*1000000000000000000011
'#*1000000000000000000011
'#*1000000000000000000011
'#*1000000000000000000011
'#*1000000000000000000011
'#*1000000000000000000011
'#*1000000000000000000011
'#*1000000000000000000011
'#*0100000000000000000111
'#*0011111111111111111110
'#*0001111111111111111100)
(defimage small-action-button-ends
'#*00000011110000000
'#*00001100001100000
'#*00010000000010000
'#*00100000000001000
'#*01000000000000100
'#*01000000000000110
'#*10000000000000010
'#*10000000000000011
'#*10000000000000011
'#*10000000000000011
'#*10000000000000011
'#*01000000000000111
'#*01000000000000110
'#*00100000000001110
'#*00010000000011100
'#*00001100001111000
'#*00000111111110000
'#*00000001111000000)
(defimage medium-action-button-ends
'#*0000001111110000000
'#*0000110000001100000
'#*0001000000000010000
'#*0010000000000001000
'#*0100000000000000100
'#*0100000000000000110
'#*1000000000000000010
'#*1000000000000000011
'#*1000000000000000011
'#*1000000000000000011
'#*1000000000000000011
'#*1000000000000000011
'#*1000000000000000011
'#*0100000000000000111
'#*0100000000000000110
'#*0010000000000001110
'#*0001000000000011100
'#*0000110000001111000
'#*0000011111111110000
'#*0000001111111000000)
(defimage large-action-button-ends
'#*00000001111111100000000
'#*00000110000000011000000
'#*00001000000000000100000
'#*00010000000000000010000
'#*00100000000000000001000
'#*01000000000000000000100
'#*01000000000000000000110
'#*10000000000000000000010
'#*10000000000000000000011
'#*10000000000000000000011
'#*10000000000000000000011
'#*10000000000000000000011
'#*10000000000000000000011
'#*10000000000000000000011
'#*01000000000000000000111
'#*01000000000000000000110
'#*00100000000000000001110
'#*00010000000000000011100
'#*00001000000000000111000
'#*00000110000000011110000
'#*00000011111111111100000
'#*00000000111111110000000)
(defimage extra-large-action-button-ends
'#*000000000011111100000000000
'#*000000011100000011100000000
'#*000000110000000000110000000
'#*000011000000000000001100000
'#*000110000000000000000110000
'#*000100000000000000000011000
'#*001000000000000000000001000
'#*011000000000000000000001100
'#*010000000000000000000000110
'#*010000000000000000000000110
'#*100000000000000000000000010
'#*100000000000000000000000011
'#*100000000000000000000000011
'#*100000000000000000000000011
'#*100000000000000000000000011
'#*100000000000000000000000011
'#*100000000000000000000000011
'#*010000000000000000000000111
'#*010000000000000000000000110
'#*011000000000000000000001110
'#*001000000000000000000001110
'#*000100000000000000000011100
'#*000110000000000000000111000
'#*000011000000000000001111000
'#*000001110000000000111110000
'#*000000011100000001111100000
'#*000000001111111111111000000
'#*000000000011111111000000000)
;;;
;;; Note that the following default-ring images for use in the ends of an
;;; action-button/action-item are sized to be positioned *within* the border of an
;;; action-button. That is, they are 3 pixels shorter in height than the above button-end
;;; images. This is because they must be displayed within a (borderless) action-item as well
;;; as an action-button. Their :y coordinate is always (ab-top-border-width ab), which is 1
;;; for an action-button, 0 for an action-item.
(defimage small-action-button-default-ring
'#*00000000000000000
'#*00000001100000000
'#*00000110011000000
'#*00001000000100000
'#*00010000000010000
'#*00010000000010000
'#*00100000000001000
'#*00100000000001000
'#*00100000000001000
'#*00010000000010000
'#*00010000000010000
'#*00001000000100000
'#*00000110011000000
'#*00000001100000000
'#*00000000000000000)
(defimage medium-action-button-default-ring
'#*0000000000000000000
'#*0000000111100000000
'#*0000011000011000000
'#*0000100000000100000
'#*0001000000000010000
'#*0001000000000010000
'#*0010000000000001000
'#*0010000000000001000
'#*0010000000000001000
'#*0010000000000001000
'#*0010000000000001000
'#*0001000000000010000
'#*0001000000000010000
'#*0000100000000100000
'#*0000011000011000000
'#*0000000111100000000
'#*0000000000000000000)
(defimage large-action-button-default-ring
'#*00000000000000000000000
'#*00000000111111000000000
'#*00000011000000110000000
'#*00000100000000001000000
'#*00001000000000000100000
'#*00010000000000000010000
'#*00010000000000000010000
'#*00100000000000000001000
'#*00100000000000000001000
'#*00100000000000000001000
'#*00100000000000000001000
'#*00100000000000000001000
'#*00010000000000000010000
'#*00010000000000000010000
'#*00001000000000000100000
'#*00000100000000001000000
'#*00000110000000011000000
'#*00000001111110000000000
'#*00000000000000000000000)
(defimage extra-large-action-button-default-ring
'#*000000000000000000000000000
'#*000000000001111000000000000
'#*000000000110000110000000000
'#*000000011000000001100000000
'#*000000100000000000010000000
'#*000001000000000000001000000
'#*000010000000000000000100000
'#*000010000000000000000100000
'#*000100000000000000000010000
'#*000100000000000000000010000
'#*001000000000000000000001000
'#*001000000000000000000001000
'#*001000000000000000000001000
'#*001000000000000000000001000
'#*001000000000000000000001000
'#*000100000000000000000010000
'#*000100000000000000000010000
'#*000010000000000000000100000
'#*000010000000000000000100000
'#*000001000000000000001000000
'#*000000100000000000010000000
'#*000000011000000001100000000
'#*000000000110000110000000000
'#*000000000001111000000000000
'#*000000000000000000000000000)
(defimage small-action-item-default-ring
'#*0000011111100000
'#*0001100000011000
'#*0010000000000100
'#*0100000000000010
'#*0100000000000010
'#*1000000000000001
'#*1000000000000001
'#*1000000000000001
'#*1000000000000001
'#*1000000000000001
'#*1000000000000001
'#*0100000000000010
'#*0100000000000010
'#*0010000000000100
'#*0001100000011000
'#*0000011111100000)
(defimage medium-action-item-default-ring
'#*000000111111000000
'#*000011000000110000
'#*000100000000001000
'#*001000000000000100
'#*010000000000000010
'#*010000000000000010
'#*100000000000000001
'#*100000000000000001
'#*100000000000000001
'#*100000000000000001
'#*100000000000000001
'#*100000000000000001
'#*010000000000000010
'#*010000000000000010
'#*001000000000000100
'#*000100000000001000
'#*000011000000110000
'#*000000111111000000)
(defimage large-action-item-default-ring
'#*00000001111110000000
'#*00000110000001100000
'#*00001000000000010000
'#*00010000000000001000
'#*00100000000000000100
'#*01000000000000000010
'#*01000000000000000010
'#*10000000000000000001
'#*10000000000000000001
'#*10000000000000000001
'#*10000000000000000001
'#*10000000000000000001
'#*10000000000000000001
'#*01000000000000000010
'#*01000000000000000010
'#*00100000000000000100
'#*00010000000000001000
'#*00001000000000010000
'#*00000110000001100000
'#*00000001111110000000)
(defimage extra-large-action-item-default-ring
'#*0000000011111111111100000000
'#*0000001100000000000011000000
'#*0000110000000000000000110000
'#*0001000000000000000000001000
'#*0010000000000000000000000100
'#*0010000000000000000000000100
'#*0100000000000000000000000010
'#*0100000000000000000000000010
'#*1000000000000000000000000001
'#*1000000000000000000000000001
'#*1000000000000000000000000001
'#*1000000000000000000000000001
'#*1000000000000000000000000001
'#*1000000000000000000000000001
'#*1000000000000000000000000001
'#*0100000000000000000000000010
'#*0100000000000000000000000010
'#*0010000000000000000000000100
'#*0010000000000000000000000100
'#*0001000000000000000000001000
'#*0000110000000000000000110000
'#*0000001100000000000011000000
'#*0000000011111111111100000000)
;;; ========================================================================================== ;;;
;;; ========================================================================================== ;;;
;;; ;;;
;;; More-Text Arrows ;;;
;;; ;;;
;;; ========================================================================================== ;;;
;;; ========================================================================================== ;;;
;;; Note: These arrows are "tightly" sized. They are not the height of their scales' text.
;;; The More-Text-Arrow structure entry :offset-from-baseline is the amount to add to the text
;;; baseline to get the position of the top of the arrow.
(defimage small-more-text-arrow
'#*10000
'#*01000
'#*10100
'#*01010
'#*10101
'#*01010
'#*10100
'#*01000
'#*10000)
(defimage medium-more-text-arrow
'#*10000
'#*01000
'#*10100
'#*01010
'#*10101
'#*01010
'#*10100
'#*01000
'#*10000)
(defimage large-more-text-arrow
'#*100000
'#*010000
'#*101000
'#*010100
'#*101010
'#*010101
'#*101010
'#*010100
'#*101000
'#*010000
'#*100000)
(defimage extra-large-more-text-arrow
'#*10000000
'#*01000000
'#*10100000
'#*01010000
'#*10101000
'#*01010100
'#*10101010
'#*01010101
'#*10101010
'#*01010100
'#*10101000
'#*01010000
'#*10100000
'#*01000000
'#*10000000)
(defparameter *more-text-arrows-by-scale*
(list
:small (make-more-text-arrow
:image small-more-text-arrow
:name 'small-more-text-arrow
:offset-from-baseline -8
:offset-from-text 4)
:medium (make-more-text-arrow
:image medium-more-text-arrow
:name 'medium-more-text-arrow
:offset-from-baseline -9
:offset-from-text 4)
:large (make-more-text-arrow
:image large-more-text-arrow
:name 'large-more-text-arrow
:offset-from-baseline -11
:offset-from-text 5)
:extra-large (make-more-text-arrow
:image extra-large-more-text-arrow
:name 'extra-large-more-text-arrow
:offset-from-baseline -13
:offset-from-text 7)))
;;; ========================================================================================== ;;;
;;; ========================================================================================== ;;;
;;; ;;;
;;; The Standard Open Look Cursor ;;;
;;; ;;;
;;; ========================================================================================== ;;;
;;; ========================================================================================== ;;;
(defimage open-look-arrow-cursor
'#*000000000000000000
'#*011000000000000000
'#*011110000000000000
'#*001111100000000000
'#*001111111000000000
'#*000111111110000000
'#*000111111111100000
'#*000011111111100000
'#*000011111100000000
'#*000001111110000000
'#*000001110111000000
'#*000000110011100000
'#*000000110001110000
'#*000000000000111000
'#*000000000000011100
'#*000000000000001110
'#*000000000000000110
'#*000000000000000000)
(defimage open-look-arrow-cursor-mask
'#*111100000000000000
'#*111111000000000000
'#*111111110000000000
'#*111111111100000000
'#*011111111111000000
'#*011111111111110000
'#*001111111111110000
'#*001111111111110000
'#*000111111111110000
'#*000111111111000000
'#*000011111111100000
'#*000011111111110000
'#*000001111011111000
'#*000001111001111100
'#*000000000000111110
'#*000000000000011111
'#*000000000000001111
'#*000000000000000111)